X-Code-Req-Nonce (필수, Unsigned Integer)
- 중복 요청을 방지하기 위해 요청에 설정되는 일련번호입니다.
- 요청 송신 측에서는 단조 증가하는 값 또는 각 요청마다 중복되지 않는 무작위 값을 설정합니다.
- CodeVASP 서버는 100초 이내에 동일한 값이 들어올 경우 오류를 반환합니다.
X-Code-Req-PubKey (필수, Base64 String)
- 송신 VASP의 공개 키로, 메시지를 암호화하거나 복호화하는 데 사용됩니다.
- CodeVASP에서 사용되는 PubKey는 엄밀히 말하면 서명을 검증하는 VerifyKey입니다. 하지만 이로부터 암호화/복호화에 사용되는 공개 키를 계산할 수 있기 때문에 PubKey라고 명명되었습니다.
X-Code-Req-Signature (필수, String)
- (
X-Code-Req-Datetime, body, X-Code-Req-Nonce) 순서로 필드들을 연결하여 바이트 시퀀스를 생성한 후, 송신 호스트의 Private Key를 사용해 EdDSA (Ed25519)로 서명한 값입니다.
- 자세한 내용은 별도로 배포되는 예제를 참고하시기 바랍니다.
(Ed25519 https://pynacl.readthedocs.io/en/latest/signing/?highlight=Ed25519#ed25519)
- CodeVASP 서버에서 송신 VASP를 인증하고 메시지가 변조되지 않았음을 검증하는 데 사용됩니다.
- 송신 VASP가 요청을 보낼 때만 전송되며 수신 VASP로는 전달되지 않습니다.
- 수신 VASP가 응답 메시지를 보낼 때는 포함되지 않습니다.
X-Code-Req-Datetime (필수, String)
- 요청이 전송된 시점의 타임스탬프로, ISO 8601 형식을 사용하여 UTC 시간으로 표현됩니다. (예:
2022-06-31T23:59:59Z)
X-Request-Origin (필수, String)
- 송신 VASP의 travel rule solution alliance 이름과 해당 alliance 내의 VASP 식별자를
:로 구분하여 결합한 식별자입니다.
- 예:
code:coinone, verifyvasp:15952089931162060684
X-Code-Req-Remote-PubKey (선택, Base64 String)
- 메시지 암호화에 사용되는 수신 VASP의 공개 키입니다. 요청 body를 암호화하지 않는 API이거나 CodeVASP 서버로 직접 전송되는 메시지의 경우 이 헤더를 생략하십시오.
- 헤더 값이 CodeVASP Central Server에 등록된 대상 VASP의 공개 키와 일치하지 않으면 오류가 반환됩니다. 헤더가 없으면 검증이 생략됩니다.
- 수신 VASP의 공개 키는 회전(갱신)될 수 있으므로, 키 불일치 오류를 받은 송신 VASP는 공개 키를 다시 가져와서 재시도해야 합니다.